#ifndef USERIF_H
#define USERIF_H

#define		BEEP_DELAY							150
#define   gu_clr_state()                    (act_kbd_pending_test(KEY_CANCEL))

#define CENTERED  0
#define L_TEXT    1
#define R_TEXT    2

void DisplayStatusFromFile(int Index);
void DisplayStatus(char *msg);
void ClearStatusLine(void);
void vdClearScreen(void);
void ClearSevenLine(void);
void DisplayJudul(char *msg);
void DisplayTopLogo(void);
void DisplaySearchingLogo(void);
int  DisplayIklan(void); 
int inDisclaimer(char *szDisclaimer);
int get_env_x(char *param, int n, char *buff);
int  put_env_x(char *param, int n, char *buff);
void LOG_PRINT_HEX(unsigned char* buf, int size);
void clrscrplus(char *msg);
void vdFlushKeyboardBuffer(void);
void vdFlushCardBuffer(void);
void vdScrollDisplay(void);
void vdTrimSpace(char *buff);

void vdWarnBeep(void);
void vdBeep(void);
void vdDelay(int inMilliSec);

int YesNoChoice(char *QLine3, char *QLine4, int Def);
int inMenuChoice(char *Label, char *MenuItem1, char *MenuItem2, char *MenuItem3, char *MenuItem4);
int inBGMenuChoice(char *Label, char *MenuItem1, char *MenuItem2, char *MenuItem3, char *MenuItem4, int inBackGround);
int inHorizontalMenuChoice(char *Label, char *MenuItem1, char *MenuItem2, char *MenuItem3, char *MenuItem4);
void vdFormatText(char *buff, int kolom, int Justify);
int InputNumberInd(char *label, char *Number, long Min, long Max, int mode, long *ret);
int BGInputNumberInd(char *label, char *Number, long Min, long Max, int mode, long *ret, int inBackGround);
int InputNumberWithCentInd(char *label, char *Number, long Min, long Max, int mode, long *ret);
int InputNumberEngl(char *label, char *Number, long Min, long Max, int mode, long *ret);
int InputNumberWithCentEngl(char *label, char *Number, long Min, long Max, int mode, long *ret);
int InputPAN(char *label, char *Number, long Min, long Max, int mode, long *ret);
int FormatNumberInd(char *ResBuff, char *InpBuff);
int FormatNumberWithCentInd(char *ResBuff, char *InpBuff);
int FormatNumInd(char *ResBuff, long Num);
int FormatNumWithCentInd(char *ResBuff, long Num);
int FormatNumberEngl(char *ResBuff, char *InpBuff);
int FormatNumberWithCentEngl(char *ResBuff, char *InpBuff);
int FormatNumEngl(char *ResBuff, long Num);
int FormatNumWithCentEngl(char *ResBuff, long Num);

void FormatDate(char *Dest, char *Date);
void FormatTime(char *Dest, char *Time);
void GetTopDateTime(char *Dest); 
int InputString(char *Caption, char *Buffer);
int inNewInputString(char *label, char *Number, long Min, long Max);

int TimeOut(unsigned long Time);
int inPvsTimeOut(unsigned long TheTime);
int GetAndVerifyPassword(void);
int ChangePassword(void);
unsigned long ulGetAndIncInvNum(void);
int inEnablePrintISOTrace(void);
int inGetPrintTimes(void);
void vdGetCurrency(char *szCurr, char *szInput);
void vdGetMonthStr(char *buff, int inMonth);
void vdMaskNameString(char *buff);
int inUseSNasTID(void);
int inPvsDisplayBatteryLevel(int inBatteryLevel);
int inDisplayBatteryLevel(void);

#define PWD_ADMIN			"PWD.ADMIN"
#define TRX_AUTO_REVERSAL	"TRX.AUTOREVERSAL"
#define PRT_COPY			"PRT.COPY"


#endif